package conf

import "github.com/pkg/errors"

type ConfLang struct {
	Port      int
	OCRLang   string
	WordsLang string
	TransLang string
	LangMap   map[string]Lang
}

type Lang struct {
	ImgLang  string
	TextLang string
}

// GetLangs 返回语言选项列表
func (c *ConfLang) GetLangs() (list []string) {
	for s := range c.LangMap {
		list = append(list, s)
	}

	return
}

// SetOCRLang 改变文字识别语言
func (c *ConfLang) SetOCRLang(lang string) error {
	_, ok := c.LangMap[lang]
	if ok {
		c.OCRLang = lang
		return nil
	}

	return errors.New("不支持的语言：" + lang)
}

// SetWordsLang 改变原文语言
func (c *ConfLang) SetWordsLang(lang string) error {
	_, ok := c.LangMap[lang]
	if ok {
		c.WordsLang = lang
		return nil
	}

	return errors.New("不支持的语言：" + lang)
}

// SetTransLang 改变译文语言
func (c *ConfLang) SetTransLang(lang string) error {
	_, ok := c.LangMap[lang]
	if ok {
		c.TransLang = lang
		return nil
	}

	return errors.New("不支持的语言：" + lang)
}
